.TH std::strstream::~strstream 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::strstream::~strstream \- std::strstream::~strstream

.SH Synopsis
   virtual ~strstream();  (deprecated in C++98)
                          (removed in C++26)

   Destroys a std::strstream object, which also destroys the member std::strstreambuf,
   which may call the deallocation function if the underlying buffer was
   dynamically-allocated and not frozen.

.SH Parameters

   \fI(none)\fP

.SH Notes

   If str() was called on a dynamic strstream and freeze(false) was not called after
   that, this destructor leaks memory.

.SH Example


// Run this code

 #include <iostream>
 #include <strstream>

 int main()
 {
     {
         std::ostrstream s; // dynamic buffer
         s << 1.23 << std::ends;
         std::cout << s.str() << '\\n';
         s.freeze(false);
     } // destructor called, buffer deallocated

     {
         std::ostrstream s;
         s << 1.23 << std::ends;
         std::cout << s.str() << '\\n';
 //      buf.freeze(false);
     } // destructor called, memory leaked

     {
         std::istrstream s("1.23"); // constant buffer
         double d;
         s >> d;
         std::cout << d << '\\n';
     } // destructor called, nothing to deallocate
 }

.SH Output:

 1.23
 1.23
 1.23
